/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package bpmlab.shift.dao;

import bpmlab.shift.dao.service.EnriquecimentoDAO;
import bpmlab.shift.dao.service.GenericDAO;
import bpmlab.shift.entity.Enriquecimento;
import bpmlab.shift.entity.Processo;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.Query;

/**
 *
 * @author Hugo
 */
public class EnriquecimentoDAOJpa implements EnriquecimentoDAO {

    private final GenericDAO<Enriquecimento> dao = DAOFactory.criarGenericDAO(Enriquecimento.class);

    @Override
    public void salvar(Enriquecimento o) throws DAOException {
        dao.salvar(o);
    }

    @Override
    public void excluir(Enriquecimento o) throws DAOException {
        dao.excluir(o);
    }

    @Override
    public Enriquecimento obter(Object id) {
        return dao.obter(id);
    }

    @Override
    public List<Enriquecimento> obterTodos() {
        return dao.obterTodos();
    }
    
    @Override
    public List<Enriquecimento> obterPorProcesso(Processo processo) {
        EntityManager em = JpaUtil.getEntityManager();
        String query = "SELECT e FROM Enriquecimento e WHERE e.processo = :processo";
        Query q = em.createQuery(query)
                .setParameter("processo", processo);
        List<Enriquecimento> resultado = q.getResultList();
        return resultado;
    }

}
